System and method for complex process optimization and control

ABSTRACT

Apparatus for control of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets

RELATIONSHIP TO EXISTING APPLICATIONS

[0001] The present application is related to applicant's earlier applications Ser. No. 09/588,681, Control Protocol Suite; Ser. No. 09/633,824, Strategic method for process control; Ser. No. 09/689,884, Process Quality Control; Ser. No. 09/731,978, Data Mining in Automatic Decision Making Processes; Ser. No. 09/746,014, Model Predictive Control; Ser. No. 09/747,977 Global Automated Process Control; Ser. No. 10/000,168, Data Mining in Automatic Decision Making; No. 60/313,465, Embedding in an APC engine; No. 60/313,823, Subgroup Analysis for Predictions; and No. 60/331,547, Subgroup analysis for predictions; the contents of which are hereby incorporated by reference.

FIELD AND BACKGROUND OF THE INVENTION

[0002] The present invention relates to the fields of process design, development and control. More particularly, the present invention relates to providing an enterprise wide framework for improving final product performance. The term “enterprise wide” as used herein relates to the entirety of the stages with which an enterprise is concerned with the product, typically the product design stage, the process design stage and the manufacturing stage. The present invention further relates to various techniques for performing improving product performance by mapping, modeling, optimization and control throughout the entire process stages of a product ensuring improved final outcome performance.

[0003] One example of such a process is yield in the semiconductor field. Yield improvement in semiconductor manufacturing is dominated by particle and defect inspection technology and process integration improvement in order to improve device yield. Improved process integration yields higher bin yields (faster chips) and other outputs such as electrical test (ET) and reliability. Yield loss due to inefficient process integration is becoming more critical as integrated circuits become smaller.

[0004] The control of the product parameters from the earliest stages of design and up to the final stages of manufacturing is therefore the key to yield improvement.

[0005] Engineers design and develop the ‘process spec’. The process specs are the specs of the intermediate process steps whose integration should lead to the final product, which has its own ‘product spec’.

[0006] As an unlimiting example of a process, the semiconductor industry will now be considered. In the production of semiconductor chips there can be up to as many as a few thousand ‘process specs’ that give rise to a product (chip). The product in turn may have its own ‘product specs’ with hundreds of parameter goals (electrical tests). Such is the case for example when the product is a CPU.

[0007] In complex processes such as the abovementioned semiconductor chip production, the process integration, i.e. the determining of the right sets of ‘process specs’ in order to achieve good ‘product specs’ is very intricate. A current inability to tackle correctly the process integration issue is one of the major factors in manufacturing yield losses, that today often exceed 50% for products of such a level of complexity.

[0008] Various advanced process control and supervisory control solutions have been successfully implemented in various industries. However in intricate processes such as in the semiconductor industry these solutions have been found to be insufficient due to the complexity involved in the optimization process of thousands of parameters.

[0009] In the above-mentioned Knowledge Tree application, it is explained how to logically break down intricate processes into subprocesses by mapping, each subprocess comprising Knowledge Tree Cells. The cells are then filled with models that describe the relationships between the input parameters and the outcome/s of each cell. FIG. 1 is a diagram of KT cells involved in a process. As an example of a final target of a ‘product spec’, threshold Voltage (Vt), is used here. Vt, as indeed all of the other targets (electrical test parameters) of the final product, has its own contributing variables that have an influence on this particular target. In turn, and looking one tier back, each of these contributing variables, Gox-T (Gate Oxide Thickness) for example, is considered as a target goal for the layer beneath it and has its own contributing variables that influence the outcome and so forth until the earliest tier is reached. Following mapping is the stage of modeling, wherein models are placed in the KT cells in order to quantify the relationships between the inputs and the outputs of the KT cells.

[0010] Advanced or automatic process control has been used in the prior art for optimization of a tool or a module where all of the process or sub-process Knowledge Tree cells have had inputs and outputs defined and modeled. APC provides optimization and control solutions for the tool level. In the above-mentioned patent application on MC, APC has been taken one step higher and has been applied to Module Control on a higher level involving a number of tools.

[0011] Due to a lack of control and optimization on the whole process level, the final targets are frequently not entirely within the spec limits around the target and even when they are, they often have high variation, i.e. wide distribution that are monitored by low Cp and Cpk (process capability index) values for many of the device characteristics, such as Bin (device speed), Electrical Test and Reliability. Another major concern is the length of time taken today from the design stage through product development and then ramp up and finally to production. This can be especially lengthy and a number of years is not untypical for the semiconductor industry. This is due in part to the intricacy of the processes involved and the lack of optimization technologies, leaving nothing but trial and error in many cases for integrating the various stages.

[0012] As a further result of the intricacies of the process, the entire semiconductor process is today run on an open loop system. Having an open loop system does not allow for feed back for self-correction. There is today no comprehensive solution that takes into account the whole process from the design stage until the manufacturing that guarantees product specs.

[0013] In the patent application WO 0177872 a system and method for enterprise modeling, optimization and control to Ferguson et al, is disclosed. The application discusses such a system and method for performing modeling, prediction, optimization, and control, including an enterprise wide framework for constructing modeling, optimization, and various control solutions are disclosed. The disclosure discusses integrating a combination of batch and continuous processing frameworks and a unified hybrid modeling framework which allows encapsulation and composition of different model types, such as first principles models and empirical models. However, Ferguson et al does not describe how to solve and optimize a complex processes with thousands of process spec variables and hundreds of product specs. Furthermore Ferguson et al, in attempting to integrate numerous models into a single framework, provides a rigid structure that fails to be an organic description of the underlying processes.

[0014] There is thus a widely recognized need for, and it would be highly advantageous to have, a method and a system for the optimization of an enterprise level process that can be implemented from the very first design stage through to the final product stage and which is devoid of the above limitations.

SUMMARY OF THE INVENTION

[0015] According to the present invention there is provided apparatus for optimization of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.

[0016] The apparatus preferably further comprises a weight assigner associated with said optimizer, to assign each of said output variables with a weight, and wherein said summed convergence comprises a summed weighted convergence.

[0017] Preferably, at least some of said weights are user determined.

[0018] Preferably, each of said output variables comprises an upper level of a multi-level decision tree comprising said corresponding input variables and said corresponding intermediate variables, and wherein decision trees of at least two of said output variables are related by sharing ones of said input and intermediate variables such that optimization of one tree affects optimization of another tree.

[0019] Preferably, said output variables are specified features of said complex product.

[0020] Preferably, said output variables are tool output targets of a manufacturing process of a complex product.

[0021] Preferably, said complex process comprises product design, process development and production of a complex product, and wherein said variables are product specification features and process specification features.

[0022] The apparatus preferably further comprises a variation compensator for detecting variation in said variables during processing of said complex product, determining whether a detected variation is controllable and if so controlling said variation back to a defined range, and if said detected variation is not controllable then using said relationships to determine a proposed compensation variation among others of said variables to overcome said variation, and wherein said variation compensator is associated with said optimizer to subject said proposed compensation variation to said convergence maximization.

[0023] Preferably, said optimizer is operable to relax ranges of said variables prior to said optimization, thereby to permit discovery of an optimization that is beyond a scope of initially provided variable constraints.

[0024] According to a second aspect of the present invention there is provided apparatus for optimization of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising:

[0025] an offline optimizer for performing offline optimization of at least some of said input variables and said intermediate variables to maximize convergence of said output variables to said targets, and

[0026] an online optimizer for detecting actual variation in said variables, providing proposed compensations for said variations and performing online optimization of said proposed compensation to maximize said convergence.

[0027] The apparatus preferably further comprises a weight assigner associated with said optimizer, to assign each of said output variables with a weight, and wherein said summed convergence comprises a summed weighted convergence.

[0028] Preferably, at least some of said weights are user determined.

[0029] Preferably, each of said output variables comprises an upper level of a multi-level decision tree comprising said corresponding input variables and said corresponding intermediate variables, and wherein decision trees of at least two of said output variables are related by sharing ones of said input and intermediate variables such that optimization of one tree affects optimization of another tree.

[0030] Preferably, said output variables are specified features of said a complex product.

[0031] Preferably, said output variables are tool output targets of a manufacturing process of a complex product.

[0032] Preferably, said complex process comprises product design, process development and production of a complex product, and wherein said variables are product specification features and process specification features.

[0033] Preferably, said optimizer is operable to relax ranges of said variables prior to said optimization, thereby to permit discovery of an optimization that is beyond a scope of initially provided variable constraints.

[0034] According to a third aspect of the present invention, there is provided apparatus for design of a complex product, said product being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.

[0035] According to a fourth aspect of the present invention there is provided apparatus for development of a production process of a complex product, said production process having a plurality of output values and a plurality of input and intermediate variables, and wherein each output value has a target and is affected by different subsets of said input and said intermediate variables, said apparatus comprising:

[0036] an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.

[0037] According to a fifth aspect of the present invention there is provided a method for control of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising:

[0038] finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.

[0039] The method preferably further comprises assigning each of said output variables with a weight, and wherein said summed convergence comprises a summed weighted convergence.

[0040] Preferably, at least some of said weights are user determined.

[0041] Preferably, each of said output variables comprises an upper level of a multi-level decision tree comprising said corresponding input variables and said corresponding intermediate variables, and wherein decision trees of at least two of said output variables are related by sharing ones of said input and intermediate variables such that optimization of one tree affects optimization of another tree.

[0042] Preferably, said output variables are specified features of a complex product.

[0043] Preferably, said output variables are tool output targets of a manufacturing process of a complex product.

[0044] Preferably, said complex process comprises product design, process development and production of a complex product, and wherein said variables are product specification features and process specification features.

[0045] The method preferably further comprises detecting variation in said variables during processing of said complex product, determining whether a detected variation is controllable and if so controlling said variation back to a defined range, and if said detected variation is not controllable then using said relationships to determine a proposed compensation variation among others of said variables to overcome said variation, and subjecting said proposed compensation variation to said convergence maximization.

[0046] The method preferably further comprises relaxing ranges of said variables prior to said optimization, thereby to permit discovery of an optimization that is beyond a scope of initially provided variable constraints.

BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.

[0048] In the drawings:

[0049]FIG. 1 is a simplified diagram of a KT cell and indicating relationships between inputs and outputs;

[0050]FIG. 2 is a block diagram of apparatus for control of a complex process according to a first preferred embodiment of the present invention;

[0051]FIG. 3 is a flow chart showing operation of variation control;

[0052]FIG. 4 is a simplified block diagram showing a single control cell with a plurality of inputs and an output;

[0053]FIG. 5 is a simplified block diagram showing an array of cells at three different levels, all being factors in a single output;

[0054]FIG. 6 is a simplified block diagram showing a series of decision trees for separate outputs, it being noted that certain inputs are common to the different trees;

[0055]FIG. 7 is a simplified diagram showing a series of process variables and their mappings onto outputs;

[0056]FIGS. 8a and 8 b graphically illustrate optimization processes for process and product specifications,

[0057]FIG. 9 is a simplified block diagram showing an automated process control cell;

[0058]FIG. 10 is a simplified block diagram illustrating the difference in treatment between measured and controlled inputs,

[0059]FIG. 11 is a simplified block diagram illustrating the double process of nominal target matching and dynamic target matching.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0060] Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.

[0061] Reference is firstly made to FIG. 2, which is a simplified diagram showing apparatus for control of a complex process. The process may be the entirety of a product process lifetime from design to manufacture or any part of that process. The process is firstly described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables. The variables may be product specification variables, processing variables, or any other relevant variables. The variables have relationships therebetween, however the nature of the relationships is complex. Thus a particular input may have a direct effect on one output, an indirect effect on another and no effect on a third. Another input may have no effect on the first output, an indirect effect on the second and no effect on the third. Likewise an intermediate variable may have a direct effect on the second output, itself being effected by the first input in one way and by the second input in another way.

[0062] Thus the various inputs and intermediate variables affect respectively different output variables. Needless to say each of the output variables has a target value that it is supposed to meet and a range around that target value which it actually meets in practice. The actual value of the output variable is thus affected by changes in the input and intermediate variables and the effect on a single output variable of a change in a single input or intermediate variable is generally well defined. However a change in a single input variable may well lead to changes in numerous output variables, setting some nearer to their target and others further away.

[0063] As will be discussed in greater detail below, the outputs, and their corresponding intermediate and input variables are arranged as layered decision trees. As will be discussed in greater detail below, at first the decision trees are set out in qualitative terms only, in other words showing how variables relate to one another, and only later on are numerical values added to those relations. The decision trees form decision forest 2. The term “decision forest” is used to indicate a construction comprising many decision trees that share common variables, resulting in complex interaction between the trees. It is the complex interaction amongst the trees which it is desired to model.

[0064] Once quantitative values have been defined for the individual trees, it is possible to model the behavior of the forest in order to determine the overall effect on the outputs of a single input variable change.

[0065] The apparatus for control of a complex process provides the forest model as an input to an optimizer 4. The optimizer is an iterative process of high complexity that requires powerful processing, and the optimizer tries to find a combination over all of the inputs and intermediate values that provides an optimal set of outputs. The optimizer preferably achieves such an optimum set by maximizing a summed convergence of the output variables to the targets. That is to say, the optimizer preferably sets an initial overall input set and models the output. It then sums the divergences of the various outputs from the target values. It then changes the input set and produces a new sum of the divergences. The process is repeated until a best result is found. A preferred embodiment actually relaxes constraints on input and intermediate values to widen the range of the search, it often being the case that an optimal output set lies outside expected input ranges.

[0066] The optimizer 4 is preferably connected to a weight assigner 6 to assign various output variables with a weighting value. Thus certain output variables may be of critical importance to the product and others may be of less importance, so the summed convergence can use the weights to take these importance levels into account.

[0067] In general the weight values are user determined.

[0068] The output variables may be specified features of a complex product. Alternatively, the output variables may be tool output targets of a manufacturing process of the complex product. In a particularly preferred embodiment, the complex process comprises product design, process development and production of a complex product, and the variables include product specification features and process specification features and any other relevant factors.

[0069] The apparatus as described up till now has been explained in terms of optimization using a model and values obtained from a model. The optimization thus described is carried out offline, that is divorced from the process itself. The actual process itself, however, is bound to involve variables straying from their set ranges at various times. To a certain extent such variation may be compensated for by adjustments of targets, which is to say that the control apparatus notices the variation and controls against it. As long as the variation can be kept under control the original optimization remains valid. However, it often happens that the variation cannot be controlled, or the amount of control is limited. In the case of a complex process of the kind described above, such a variation invalidates the initial optimization. A preferred embodiment thus provides a variation compensator or controller 8 for detecting variation in the variables during processing of the complex product. The variation controller preferably determines whether a detected variation is controllable in itself. If it is controllable in itself then the variation is controlled back to a defined range, but if the detected variation is not controllable back to the defined range then the relevant tree based models are used to determine a proposed compensation variation among those variables which can be controlled to overcome the initial deviation. Preferably, the proposed compensation is then optimized using the forest model. The variation compensator 8 is also preferably associated with the optimizer to subject the proposed compensation variation to further rounds of convergence maximization. The compensation activity thus provides an online mode of operation for the apparatus, allowing it to provide dynamic control to a process.

[0070] Reference is now made to FIG. 3, which is a simplified flow diagram showing operation of the variation compensator 8. The variation controller in step S1 determines whether variations are present. It then determines in step S2 whether the variation is controllable or simply measurable. Certain variables are always one or the other, but certain variables may change over time, for example the variation range of a particular tool diminishes, thus rendering the variable measurable only in respect of a desired output that is outside its new diminished range. Likewise, at a certain stage in a process a particular variable may be controllable, but later on, as it has had its effect, it simply becomes measurable.

[0071] If the variable is controllable, then it is generally a matter of simple feedback to control the variable back to its target, Stage S3. However, if the variable is only measurable then it may be necessary to refer back to the initial model to find a compensation amongst other controllable variables to make up for the variable that has gone off target. The new combination of variables is presented to the optimizer 4 and a new optimization of the variables is made. Such a procedure is summarized in step S4.

[0072] In order to implement mapping, modeling and optimization at the Enterprise Process Level, embodiments are provided as follows.

[0073] Mapping, Modeling and Optimization (MMO) combines expert systems and data mining technologies. Expert knowledge is used to build a Knowledge Tree, a relationship map that structures and organizes the relevant factors/inputs affecting the output. To differentiate from other expert systems where the expert needs to define the rules that govern the input-output relationships, a stage that is usually very complicated and innacurate. In the present invention the expert is required to define only a relationship map.

[0074] Based on real (historical) or simulated data, the process is then modeled using POEM or other multivariate modeling techniques (regression, Neural net, etc). The system uses these models to optimize process inputs in order to achieve the desired output/s. The system learns from empirical data and self-adapts to continually improve the model.

[0075] MMO reduces final product level variation that results from inefficient integration of all process modules and from fluctuations in the process's previous steps. MMO is used to offline to match target for achieving better targets and online to perform process level APC for compensating for these fluctuations.

[0076] The First Stage: Mapping:

[0077] Knowledge Trees are comprised of Knowledge Tree Cells that are constructed based on Expert Advice. Each cell represents a logical relationship, or a cause and effect relationship map between a target and its influencing inputs of a certain stage of a process. FIG. 4 is an illustration of a Knowledge Tree cell. The example of a KT cell depicted in FIG. 4 has as its outcome, shown on the right side of the cell, one of the final targets of a chip which is in this case speed. The parameter variables that influence this particular outcome, speed, are on the left side of the cell and are Leff, Gox-T, S/D IMP, Contact Res, Poly Res and Isdn. Initially, the cells are expert driven and are built without any data based on expert knowhow.

[0078] A process module can be described as a tree that has multiple tiers (hierarchies). Processes no matter how complicated can be described as a tree with multiple hierarchies. These trees are built from the top down i.e. from the highest goal (a final target being one of the final product spec) and down to the lower hierarchies which are the various stages in the process (as specified in process specs).

[0079] A process KT consisting of a number of sub processes and tools that are connected to form the entire tree is illustrated in FIG. 5. The final target depicted on the right of this figure, i.e. the highest hierarchy of this tree is Speed as it was in FIG. 4. Five inputs to the final cell i.e. Leff, Gox-T, S/D IMP, Contact Res, Poly Res and Isdn are illustrated. In turn, these five inputs are now considered to be the outcomes or targets of an intermediate sub process. Each of these outcomes or intermediate targets has their own inputs. FIG. 5 shows five of the inputs for one of the intermediate targets i.e. Leff. They in turn serve as targets for their own inputs shown on the left.

[0080] In the semiconductor field for example, the product spec consists of hundreds of electrical test (ET) each of which needing to be within its own spec. In much the same way that the building of a tree was described above for the speed outcome, a tree is built for each of these characteristics. The collection of these hundreds of trees is known as a ‘Knowledge Forest’. FIG. 6 illustrates a Knowledge Forest comprised of three trees Vt, ISDN and Bin. As can be seen from the figure, parameters can be shared by different trees (the input X).

[0081] At the end of the Mapping stage there are Knowledge Trees with qualitative (Logical) relationships that serve as the foundation for the placing and integration of models into these cells for their quantitative integration and finally for the optimization of the entire process.

[0082] The Second Stage: Modeling

[0083] In the next stage of this invention, every single cell in the tree is occupied by an empirical model. The inputs and outputs of a cell describes the data to be extracted for building a model. Any of many types of models can be used for this stage among them Regression, Decision trees (CART, MARS, CHAID), Neural networks, POEM, genetic algorithms

[0084] An example taken from Prior art as to how POEM works within a Knowledge Tree Cell is illustrated in FIG. 7.

[0085] The computer automatically can choose which model to use. For example if there is a lot of prior data then the method that generate the best fit will be selected. Alternately or additionally, Design of Experiment (DOE) Models can be used. In the DOE method, experiments are run in the particular areas of the individual cells and then based on the results of the experiments, a model is placed into the cell until real data is available from the process for on-line correction of the model.

[0086] This collection of cells all containing models (not necessarily the same type of model for each cell) are chained by the Knowledge tree to form a ‘quilt’ model. The whole tree model describes the functional relationships belonging to this particular tree. All of the models can be adapted with time as new data arrives which serves to improve the individual models and hence the whole process. In this way individual trees are built for every product characteristic such as each of the hundreds of the abovementioned electrical parameters. All of these hundreds of trees together form what may be termed the ‘Product Forest’. This brings the entire process into the next stage.

[0087] Third Stage: Optimization:

[0088] The output of a cell, or in other words its target, has its own sets of inputs that are actually the outputs, or the targets, of cells in the tier one layer lower of the hierarchy. The goal of the optimization is to find out the lower hierarchy targets that will bring the highest hierarchy of the tree as near as possible to its predefined target. The highest target within the hierarchy or the tree's epitome becomes the ultimate goal of the optimization process. This optimization is called ‘target Matching’. The outcome of the Target Matching is a set of targets from different stages of the process of the abovementioned ‘process spec’. This optimization brings the outcome of the product to its ‘product spec’.

[0089] Optimization is a numerical iteration performed by a computer program optimizer that works with the models of all the knowledge tree cells. This results in the optimal combination of the abovementioned process targets. Constraints and weights can be assigned by the experts to each of the targets.

[0090] In cases of a complex process that is best described by the abovementioned ‘Product Forest’, there is a need to coordinate a plurality of trees. The necessity for coordination is a result of intermediate targets that are shared between cells of individual trees and furthermore between cells belonging to separate trees in the same Forest. Target Matching in this case become more complicated, in that by optimizing one tree the next tree may become deoptimized due to the fact that the same parameters values chosen by the optimizer in one tree, being used in other trees may result in an off-target parameters of other characteristic of the final product.

[0091] It is in this case that multi-tree Target Matching is performed.

[0092] This optimization is also an iterative numerical process as before, but with higher complexity. This process requires more computing power than for a single tree.

[0093]FIG. 8 illustrates how a target is brought into its spec limits during the target matching stage. FIG. 8a illustrates bad target matching. FIG. 8b illustrates how target matching process finds the correct combination of targets of the ‘process spec’ (X1-Xn) such the product characteristics (Y1-Yn) fall on target and within the ‘product spec’. The method in which this is corrected is implemented by widening the process variable ranges and then optimizing until the product targets fall into spec. This widening is required as it is probable that the optimal targets combination was not included in the original spec ranges.

[0094] An example of a forest optimization method is now described.

[0095] The process of manufacturing or treatment of an item comprises a number of stages n, where n may be quite large. The present embodiments provide a method and a system for obtaining an optimum process plan for each stage and gradually designing the overall optimum performance plan until arriving at the terminal process stage. This is done with an assumption that all the subsequent stage of processing is under optimum control as well.

[0096] The state of the item being processed after each stage (k) is characterized by a set of parameters Y _(k) ., Y _(k) being a vector of m_(k) dimension. Y ₀—the state of the item by the start of the process.

[0097] The set of parameters Y _(j) at stage j may or may not coincide with Y _(k). The process yield at each stage is determined by Y _(k−1) which is the state of the item being processed as it arrives at stage k, and the process parameters X _(k) for stage k, where X _(k) can be either the corresponding input variables or a set of target values that was converted by the local cell optimization into a set of input variables.

[0098] The present embodiments comprise a device for modeling an optimum performance plan for each stage of the process in accordance with the dependency Y _(k)=F_(k)(Y _(k−1), X _(k)), where F_(k) is a known function that represents the model of a particular process stage or unit.

[0099] On the basis of stage-by stage cross-section of the process, the present invention provides a mathematical description of the forest optimization task in the form of a score that is to be minimized, thus:

[0100] The minimization implies finding a set of X ₁, X ₂, . . . , X _(n) that brings the item to the state Y _(n) that provides a minimum for the Score, or an optimum plan for the stage yield. It is noted that a minimization of the score corresponds with a maximization of the convergences of the outputs with the targets.

[0101] A process function reconstructor winds each sub-process back to the starting stage and performs a recursive operation, moving from the terminal sub-process point to its starting point. The recursive procedure comprises the main steps of:

[0102] 1)selecting a level of discretization low enough to provide the task feasibility and building a POEM table for the optimum value X _(n) as function of Y _(n−1);

[0103] 2) operating the function reconstructor in combination with the model for the last process stage n resulting in a transitional optimum plan expressed as X _(n) ^(optimum) (Y _(n−1));.

[0104] 3) proceeding to stage n−1 and finding a transitional optimum plan for this stage, expressed as X _(n−1) ^(optimum)(Y _(n−2)), this being done under the assumption that all the optimal plans will be established for all the subsequent n stages.

[0105] 4) recursively repeating the procedure until it arrives at stage 1, hence finding for each stage its conditional optimal plan on the assumption that all the conditional optimum plans for the subsequent stages are obtained by the device.

[0106] 5) obtaining a set of functions yielded by the function reconstructor

[0107]X ₁ ^(optimum)(Y ₀)

[0108]X ₂ ^(optimum)(Y ₁)

[0109]X _(n) ^(optimum)(Y _(n−1));

[0110] 6) finding X₁ through X₀ which is the pre-process state of the item

[0111] 7) applying the model for stage 1 and calculating the function values

[0112] 8) calculating Y ₁=F₁(Y ₀, X ₁)

[0113] 9) calculating Y ₂=F₂(Y ₂, X ₂)

[0114] 10) repeating the procedure until arriving at Y _(n) and obtaining the first approximation to the forest optimum plan that includes a set of Y _(k) ^(optimum) values, or POEM cells, for each stage of the process.

[0115] 11) reducing the optimization areas to the POEM cells obtained at step 8;

[0116] 12) repeating steps 1-7 maintaining the same level of discretization but over a smaller area

[0117] 13) proceeding to the next approximation, etc, and

[0118] 14) on-line recalculating the plan for the subsequent stages of the process every time new results of measurements for any stage of the process are obtained, using the set of functions X ₁ ^(optimum)(Y _(i−1)), i>k.

[0119] The calculated sequence of X ₁, . . . , X _(n) is the optimum plan of the process.

[0120] The process of Target matching is supposed to bring the average product characteristics as close as possible to their product spec targets. However, frequently as a result of existing variation around process targets, the product parameters results can be too widely distributed and fall out of product spec.

[0121] The target matching optimization process is preferably performed in two stages as illustrated in FIG. 10. The first stage 1 as described above is the ‘Nominal Target Matching’ and the second 2 is ‘dynamic Target Matching’. Nominal Target Matching does not take into account that in a real process there is always variation around targets. ‘Dynamic Target Matching’ dynamically corrects for these variations, resulting in lower variation of device characteristic values measured by lower Cp and Cpk values.

[0122] The ‘Dynamic Target Matching’ is performed by the same optimization techniques as described above, but this time it also employs Advanced Process Control (APC) techniques as described in the APC and Module Control patent applications.

[0123] APC has been used in the optimization and control of a single Knowledge Tree cell, for example a single tool as seen in FIG. 9. On the tool level all of the inputs into a Knowledge Tree cell are divided up into measurable inputs that are only measured and are not manipulated, and controllable inputs that can be manipulated. The tool's APC optimizes the process using a feed forward predictive model.

[0124] The goal of the optimization process of a cell as illustrated in FIG. 9 is to find the combination of manipulated inputs that bring the outcome to its target, while taking into account the measurable input values.

[0125] On a higher level, APC was demonstrated to enable optimization and predictive control on a higher hierarchy of the Knowledge Tree being in this case a Module. APC for Module Control is explained at length in the Module Control patent application. Briefly, FIG. 9 illustrates how APC dynamically calculates targets for each cell as batches progress within a production line. Variables that were considered controllable or manipulable in a particular process stage, become measured variables after the completion of that particular process stage. Before a particular process stage begins, a higher hierarchy assigns targets to lower hierarchies. Each process step receives its target through the chain of command built by the Knowledge Tree hierarchy.

[0126] The goal of optimization is to find the combination of the manipulated variables. The optimization process is dynamically reoptimized as the process moves forward whilst simultaneously at least some of the manipulated variables become measured variables.

[0127] ‘Dynamic Target Matching’ as described above on a Module level (single tree) is also implemented on the ‘Forest’ level. This is the method of performing APC on a complex process such as in the semiconductor industry or any other plant. This is referred to herein as Process or Plant level APC.

[0128] Many processes such as in the semiconductor industry, can be divided into three major stages, the design stage, the process development stage and the production stage. In the Design Stage, the initial target sets of the process spec are derived from simulation tools. These targets sets are usually inaccurate or not optimized enough to yield on target product specs. To overcome these problems, the above described methods of Nominal Target Matching are implemented. Firstly, Knowledge trees are built as described above. The models in this case are generated using simulators. DOE methods can be applied to the simulators for building models when actual data in sufficient quantities is not accessible.

[0129] During the design stage, Knowledge Tree cells can be defined and deposited into a ‘Knowledge Tree Cell Library’ for future use. Knowledge Tree cells that have been formed and used in a particular process can be stored in a virtual library for future re-use with little or no adjustment, thus saving precious time in the design of a similar product. For example the KT cells built for a product such as a particular generation of a microprocessor can be used for the design of the next generation product.

[0130] Trees can then be automatically built by using the ‘Knowledge Tree Cell Library’. These techniques yield more optimized targets sets for the next stage ie process development.

[0131] In the process development stage, Nominal Target Matching is once again performed but in this case the simulation models are replaced with models based on real data. At the beginning of this stage DOE methods for building models are recommended. As more wafers are processed and more data becomes available, the DOE models are dynamically replaced with data based adaptive models.

[0132] In the production stage ‘Nominal Target Matching’ is replaced by the ‘Dynamic Target Matching’ or process level APC as described above.

[0133] Another advantage of the present embodiments is that they can be applied to any one of the abovementioned stages in a process and can be used for example to improve a certain process stage even though all of the previous stages in the process have already been completed.

[0134] In a preferred embodiment of this invention, the Nominal and the Dynamic Target Matching and process level APC uses the Manufacture Execution System (MES) in order to assign the particular process targets to the relevant process tool and process step. FIG. 11 illustrates the architecture for such an implementation.

[0135] It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination.

[0136] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined by the appended claims and includes both combinations and subcombinations of the various features described hereinabove as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description. 

What is claimed is:
 1. Apparatus for optimization of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising: an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.
 2. Apparatus according to claim 1, further comprising a weight assigner associated with said optimizer, to assign each of said output variables with a weight, and wherein said summed convergence comprises a summed weighted convergence.
 3. Apparatus according to claim 2, wherein at least some of said weights are user determined.
 4. Apparatus according to claim 1, wherein each of said output variables comprises an upper level of a multi-level decision tree comprising said corresponding input variables and said corresponding intermediate variables, and wherein decision trees of at least two of said output variables are related by sharing ones of said input and intermediate variables such that optimization of one tree affects optimization of another tree.
 5. Apparatus according to claim 1, wherein said output variables are specified features of said complex product.
 6. Apparatus according to claim 1, wherein said output variables are tool output targets of a manufacturing process of a complex product.
 7. Apparatus according to claim 1, wherein said complex process comprises product design, process development and production of a complex product, and wherein said variables are product specification features and process specification features.
 8. Apparatus according to claim 1, further comprising a variation compensator for detecting variation in said variables during processing of said complex product, determining whether a detected variation is controllable and if so controlling said variation back to a defined range, and if said detected variation is not controllable then using said relationships to determine a proposed compensation variation among others of said variables to overcome said variation, and wherein said variation compensator is associated with said optimizer to subject said proposed compensation variation to said convergence maximization.
 9. Apparatus according to claim 1, wherein said optimizer is operable to relax ranges of said variables prior to said optimization, thereby to permit discovery of an optimization that is beyond a scope of initially provided variable constraints.
 10. Apparatus for optimization of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising: an offline optimizer for performing offline optimization of at least some of said input variables and said intermediate variables to maximize convergence of said output variables to said targets, and an online optimizer for detecting actual variation in said variables, providing proposed compensations for said variations and performing online optimization of said proposed compensation to maximize said convergence.
 11. Apparatus according to claim 10, further comprising a weight assigner associated with said optimizer, to assign each of said output variables with a weight, and wherein said summed convergence comprises a summed weighted convergence.
 12. Apparatus according to claim 10, wherein at least some of said weights are user determined.
 13. Apparatus according to claim 10, wherein each of said output variables comprises an upper level of a multi-level decision tree comprising said corresponding input variables and said corresponding intermediate variables, and wherein decision trees of at least two of said output variables are related by sharing ones of said input and intermediate variables such that optimization of one tree affects optimization of another tree.
 14. Apparatus according to claim 10, wherein said output variables are specified features of said a complex product.
 15. Apparatus according to claim 10, wherein said output variables are tool output targets of a manufacturing process of a complex product.
 16. Apparatus according to claim 10, wherein said complex process comprises product design, process development and production of a complex product, and wherein said variables are product specification features and process specification features.
 17. Apparatus according to claim 10, wherein said optimizer is operable to relax ranges of said variables prior to said optimization, thereby to permit discovery of an optimization that is beyond a scope of initially provided variable constraints.
 18. Apparatus for design of a complex product, said product being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising: an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.
 19. Apparatus for development of a production process of a complex product, said production process having a plurality of output values and a plurality of input and intermediate variables, and wherein each output value has a target and is affected by different subsets of said input and said intermediate variables, said apparatus comprising: an optimizer for finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.
 20. Method for control of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships therebetween such that ones of said inputs and said intermediate variables effect respectively different output variables, each of said output variables having a target, said apparatus comprising: finding an optimum value for respective ones of said input and intermediate variables to maximize a summed convergence of said output variables to said targets.
 21. Method according to claim 20, further comprising assigning each of said output variables with a weight, and wherein said summed convergence comprises a summed weighted convergence.
 22. Method according to claim 20, wherein at least some of said weights are user determined.
 23. Method according to claim 20, wherein each of said output variables comprises an upper level of a multi-level decision tree comprising said corresponding input variables and said corresponding intermediate variables, and wherein decision trees of at least two of said output variables are related by sharing ones of said input and intermediate variables such that optimization of one tree affects optimization of another tree.
 24. Method according to claim 20, wherein said output variables are specified features of a complex product.
 25. Method according to claim 20, wherein said output variables are tool output targets of a manufacturing process of a complex product.
 26. Method according to claim 20, wherein said complex process comprises product design, process development and production of a complex product, and wherein said variables are product specification features and process specification features.
 27. Method according to claim 20, further comprising: detecting variation in said variables during processing of said complex product, determining whether a detected variation is controllable and if so controlling said variation back to a defined range, and if said detected variation is not controllable then using said relationships to determine a proposed compensation variation among others of said variables to overcome said variation, and subjecting said proposed compensation variation to said convergence maximization.
 28. Method according to claim 20, further comprising relaxing ranges of said variables prior to said optimization, thereby to permit discovery of an optimization that is beyond a scope of initially provided variable constraints. 